#include "frame_test.h"

#include "dag.h"
#include <stdlib.h>

using namespace dag;

const char* FrameTest::description() {
	return "frame_test";
}

bool FrameTest::run() {
	
	try {
		Frame f1 = FrameSpec();
		Frame f2(FrameSpec(1, 2, 3, 4));
		Frame f3(1, 2, 4, 5);
		Frame f4(f3);
		
		/* check that f3 == f4 */
		if (!equal_frames(f3, f4)) {
			return false;
		}
		
		f1 = f3;
		if (!equal_frames(f1, f3)) {
			return false;
		}
		
		f2 = FrameSpec();
		f1 = f2;
		if (!equal_frames(f1, f2)) {
			return false;
		}
		
		f1 = f3;
		seed_random(f3);
		f4 = f3;
		
		if (equal_frames(f1, f3)) {
			return false;
		}
		
		if (!equal_frames(f3, f4)) {
			return false;
		}
		
	}
	catch (...) {
		return false;
	}
	
	return true;
}
